package es.uned.hoomgle.hibernate.daos.interfaces;

import org.hibernate.Session;

import es.uned.hoomgle.hibernate.beans.impl.User;
import es.uned.hoomgle.hibernate.beans.interfaces.UserI;
/**
 * Clase gestora de las entidades de usuario
 * 
 *
 */
public interface UserDaoI extends HoomgleDaoI {

	/**
	 * Transforma un objeto de negocio de usario en una entidad de hibernate
	 * @param dto
	 * @return
	 */
	public UserI dtoToEntity (UserI dto);
	
	/**
	 * Devuelve un usuario por el nombre de usuario
	 * @param userName
	 * @return
	 */
	public UserI findByUserName(String userName);
	
	/**
	 * Obtiene la clase de la entidad
	 * @return
	 */
	public Class<User> getEntityClass();
	
	/**
	 * Elimina un usuario
	 */
	public void deleteUser(String userName);
	

}